package com.engine4cloud.tdf.supervision.dto.create;

import com.engine4cloud.tdf.supervision.dto.JzdxFileDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 教育学习
 *
 * @author wenjie
 * @date 2024-04-28 09:43:11
 */
@Data
@Schema(description = "教育学习")
public class RcglEducationLearningCreateDTO implements Serializable {

    /**
     * 矫正人员编号
     */
    @Schema(description = "矫正人员编号")
    @NotBlank(message = "矫正人员编号不能为空")
    private String rybh;

    /**
     * 教育学习开始时间
     */
    @Schema(description = "教育学习开始时间", example = "2024-01-01 00:00:00")
    @NotNull(message = "教育学习开始时间不能为空")
    private LocalDateTime jyxxkssj;

    /**
     * 教育学习结束时间
     */
    @Schema(description = "教育学习结束时间", example = "2024-01-01 01:00:00")
    @NotNull(message = "教育学习结束时间不能为空")
    private LocalDateTime jyxxjssj;

    /**
     * 教育学习时长
     */
    @Schema(description = "教育学习时长", example = "1.0")
    @NotNull(message = "教育学习时长不能为空")
    private BigDecimal jyxxsc;

    /**
     * 教育学习方式
     */
    @Schema(description = "教育学习方式", example = "01")
    @NotBlank(message = "教育学习方式不能为空")
    private String jyxxfs;

    /**
     * 教育学习主要内容
     */
    @Schema(description = "教育学习主要内容", example = "法治观念学习")
    @NotBlank(message = "教育学习主要内容不能为空")
    private String jyxxzynr;

    /**
     * 记录人
     */
    @Schema(description = "记录人", example = "张三")
    @NotBlank(message = "记录人不能为空")
    private String jlr;

    /**
     * 记录时间
     */
    @Schema(description = "记录时间", example = "2024-01-01:09:00:00")
    @NotNull(message = "记录时间不能为空")
    private LocalDateTime jlsj;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String bz;

    /**
     * 教育学习测试及小结
     */
    @Schema(description = "教育学习测试及小结", example = """
            [{"name": "教育文件.png",
            "url": "/supervision/oss-file/oss/file?fileName=09468fc20f2544e28891a058858fdf58.jpeg"}
            ]""")
    @NotEmpty(message = "教育学习测试及小结不能为空")
    private List<JzdxFileDTO> examinationPaperList;

}